package com.common.projectcommonframe.utils;

import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.graphics.Color;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.View;
import android.widget.TextView;

import com.common.projectcommonframe.R;

import java.text.DecimalFormat;

import androidx.core.content.ContextCompat;

/**
 * Description:
 * Data：2019/9/9 0009-15:00
 * Author: xjlei
 */
public class StrUtil {

    /**
     *
     * 当Double的值很大时，显示的结果会变成带E的科学计数法显示，在报表的数据显示的时候不方便阅读，需要去掉E，将原数据显示
     * @return
     */
    public static String longDableToNormal(double number){
        DecimalFormat df = new DecimalFormat("0.00");
/*        java.text.NumberFormat NF = java.text.NumberFormat.getInstance();
        NF.setGroupingUsed(false); //去掉科学计数法显示
        NF.format(d)*/
        return  df.format(number) ;
    }


    /**
     * 给TextView 中 部分文字加下划线 并加入超链接（可点击）
     * @param content   文字内容
     * @param textView  加载文字的textview
     */
    public static void textMagic(final Context context, String content, TextView textView) {
        String originStr  = textView.getText().toString() ;
        SpannableStringBuilder builder = new SpannableStringBuilder(originStr);
        int indexOf = originStr.indexOf(content);//截取文字开始的下标
        int lastOf = indexOf +  content.length();//截取文字结束的下标
        builder.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                //点击后复制，如果需要动态的，可以用个接口代替

                //获取剪贴板管理器：
                ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
                // 创建普通字符型ClipData
                ClipData mClipData = ClipData.newPlainText("Label", "这里是要复制的文字");
                // 将ClipData内容放到系统剪贴板里。
                cm.setPrimaryClip(mClipData);
                ToastUtil.show( "已复制...");
            }

            @Override
            public void updateDrawState(TextPaint ds) {
                super.updateDrawState(ds);
                ds.setColor(ContextCompat.getColor(context, R.color.colorPrimary));       //设置文字颜色
                ds.setUnderlineText(true);      //设置下划线//根据需要添加
            }
        }, indexOf, lastOf, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView.setHighlightColor(Color.TRANSPARENT); //设置点击后的颜色为透明，否则会一直出现高亮
        textView.setText(builder);
        textView.setMovementMethod(LinkMovementMethod.getInstance());
    }


}
